/*
 * @lc app=leetcode.cn id=2129 lang=golang
 * @lcpr version=30119
 *
 * [2129] 将标题首字母大写
 */

// @lcpr-template-start

// @lcpr-template-end
// @lc code=start
func capitalizeTitle(input string) string {
	title := []rune(input)
	for l := 0; l < len(title); l++ {
		if title[l] == ' ' {
			continue
		}
		r := l + 1
		for ; r < len(title) && title[r] != ' '; r++ {
		}
		if r-l <= 2 {
			for l < r {
				if title[l] >= 'A' && title[l] <= 'Z' {
					title[l] += 'a' - 'A'
				}
				l++
			}
		} else {
			if title[l] >= 'A' && title[l] <= 'Z' {
			} else {
				title[l] -= 'a' - 'A'
			}
			l++
			for l < r {
				if title[l] >= 'A' && title[l] <= 'Z' {
					title[l] += 'a' - 'A'
				}
				l++
			}
		}
		l--
	}
	return string(title)
}

// @lc code=end

/*
// @lcpr case=start
// "capiTalIze tHe titLe"\n
// @lcpr case=end

// @lcpr case=start
// "First leTTeR of EACH Word"\n
// @lcpr case=end

// @lcpr case=start
// "i lOve leetcode"\n
// @lcpr case=end

*/

